/*
 * @Description:
 * @Version: 2.0
 * @Autor: wiz
 * @Date: 2023-06-19 08:07:01
 * @LastEditors: wiz
 * @LastEditTime: 2023-06-24 16:53:23
 */
/* eslint-disable max-classes-per-file */
import { T_srv, Tsrv, ifs, ts, vue } from '@/services';

export class T_list {
  type: string;

  disabled?: boolean = false;

  // 'text|iconFont'; // iconFont 图字符列表 | text 文字列表
  data: object;
}
export interface I_list extends T_list {}
export class T_conf {
  size?: string; // 可选值为large、small、default或者不填

  // 是否多选
  multiple?: boolean = false;

  disabled?: boolean = false;

  // {field: boolean, // 属性字段是否国际化转换
  //   list: boolean // 数据list是否国际化转换
  // }
  // 选择框默认文字
  placeholder: string;

  displayField: string | Array<any>;

  // 选择框默认文字 i18n value
  i18n?: { field: boolean; list: boolean } = {
    field: false,
    list: false
  };

  // 过滤
  // {$and: { name: 'xxx'; name1: 8; $or: [{ name: 1 }, { name1: 2 }] }}; // 启用过滤会降低性能
  filter?: object = {};

  // 列表字段;

  field: Array<string> = [];

  // 注意与数据对应顺序
  keyField: string;

  // 一行的key值字段
  // 数据列表
  list: Array<I_list> = [];
}
export interface I_conf extends T_conf {}

export { T_srv, Tsrv, ifs, ts, vue };
